# Enable Rewrite Engine
<IfModule mod_rewrite.c>
    RewriteEngine On

    # Bloqueia acesso direto a arquivos sensíveis e de configuração
    RewriteRule ^(\.env|\.gitignore|\.git|composer\.(json|lock)|README\.md|INTEGRACAO_FRONTEND\.md) - [F,L,NC]

    # Bloqueia acesso direto aos diretórios internos (app, vendor, database, storage)
    RewriteRule ^(app|vendor|database|storage)(/|$) - [F,L,NC]

    # Direciona todas as requisições públicas para o diretório public/
    RewriteCond %{REQUEST_URI} !^/public/
    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

# Impede a listagem de diretórios
Options -Indexes

# Bloqueia acesso a qualquer arquivo oculto (iniciado por ponto)
<FilesMatch "^\.">
    Require all denied
</FilesMatch>

# Bloqueia acesso direto a arquivos de ambiente e dependências
<FilesMatch "^(\.env.*|composer\.(json|lock)|README\.md)$">
    Require all denied
</FilesMatch>
